package app

import (
	_ "embed"
)

//go:embed sql/init.sql
var InitSql string // 初始化SQL语句

// 定义全局配置
const (
	QuickBackupHomeDir = ".quick-backup"   // 数据目录
	QuickBackupDBFile  = "quick-backup.db" // 数据库文件
	QuickBackupDataDir = "data"            // 数据目录
)

// 定义任务表格存储类型, 来映射查询结果
type BackupTask struct {
	TaskID          string `db:"task_id"`          // 任务ID
	TaskName        string `db:"task_name"`        // 任务名称
	TargetDirectory string `db:"target_directory"` // 目标目录
	BackupDirectory string `db:"backup_directory"` // 备份目录
	RetentionCount  int    `db:"retention_count"`  // 保留天数
	IsCompressed    bool   `db:"is_compressed"`    // 是否压缩 1 压缩 0 不压缩
}

// 定义备份记录表格存储类型, 来映射查询结果
type BackupRecord struct {
	VersionID      string `db:"version_id"`       // 版本ID
	TaskID         string `db:"task_id"`          // 任务ID
	TimeStamp      string `db:"timestamp"`        // 备份时间戳
	TaskName       string `db:"task_name"`        // 任务名称
	BackupStatus   bool   `db:"backup_status"`    // 备份状态
	BackupFileName string `db:"backup_file_name"` // 备份文件名称
	BackupSize     string `db:"backup_size"`      // 备份文件大小
	BackupPath     string `db:"backup_path"`      // 备份文件路径
	VersionHash    string `db:"version_hash"`     // 版本哈希
}
